العربية

استكشف عنقود Redis لتحقيق التوافر العالي وقابلية التوسع والأداء الفائق في التطبيقات الموزعة عالميًا. تعرف على بنيته المعمارية ونشره وأفضل الممارسات.

عنقود Redis: توسيع نطاق قاعدة بياناتك في الذاكرة للتطبيقات العالمية

في المشهد الرقمي سريع الخطى اليوم، تتطلب التطبيقات وصولاً فائق السرعة للبيانات والقدرة على التعامل مع كميات هائلة من الحركة. أصبحت قواعد البيانات في الذاكرة (IMDBs) مثل Redis مكونات أساسية لتحقيق هذا الأداء. ومع ذلك، لا يمكن لمثيل Redis واحد أن يتوسع إلا إلى حد معين. وهنا يأتي دور عنقود Redis، الذي يوفر قابلية التوسع الأفقي، والتوافر العالي، وتحمل الأخطاء لتطبيقاتك الموزعة عالميًا.

ما هو عنقود Redis؟

عنقود Redis هو تطبيق موزع لـ Redis يقوم تلقائيًا بتجزئة البيانات عبر عدة عقد Redis. على عكس إعدادات Redis ذات المثيل الواحد، يمكن لعنقود Redis التعامل مع مجموعات بيانات تتجاوز سعة الذاكرة لخادم واحد. كما أنه يوفر توافرًا عاليًا عن طريق نسخ البيانات عبر عقد متعددة، مما يضمن بقاء تطبيقك قيد التشغيل حتى لو فشلت بعض العقد.

فكر في الأمر على أنه توزيع مكتبة ضخمة (بياناتك) عبر فروع متعددة (عقد Redis) في مدن مختلفة. يحتوي كل فرع على مجموعة فرعية من الكتب (البيانات)، وإذا أغلق أحد الفروع (فشل العقدة)، فإن الفروع الأخرى لديها نسخ من أهم الكتب (نسخ البيانات) لمواصلة خدمة المجتمع.

الفوائد الرئيسية لعنقود Redis

بنية عنقود Redis المعمارية

يتكون عنقود Redis من المكونات التالية:

إعداد عنقود Redis

يتضمن إعداد عنقود Redis الخطوات التالية:

  1. تثبيت Redis: تأكد من أن Redis مثبت على جميع الخوادم التي ستكون جزءًا من العنقود. يوصى باستخدام أحدث إصدار مستقر من Redis للحصول على الأداء والأمان الأمثل.
  2. تكوين مثيلات Redis: قم بتكوين كل مثيل Redis للعمل في وضع العنقود. يتضمن ذلك تعيين الخيار cluster-enabled إلى yes في ملف redis.conf. تحتاج أيضًا إلى تكوين خياري cluster-config-file و cluster-node-timeout.
  3. إنشاء العنقود: استخدم الأمر redis-cli --cluster create لإنشاء العنقود. يأخذ هذا الأمر قائمة بمثيلات Redis كوسائط ويقوم تلقائيًا بتكوينها لتشكيل عنقود. سيقوم الأمر أيضًا تلقائيًا بتعيين خانات التجزئة للعقد الرئيسية.
  4. إضافة عقد نسخ احتياطية: أضف عقدًا نسخ احتياطية إلى العنقود باستخدام الأمر redis-cli --cluster add-node. يأخذ هذا الأمر عنوان عقدة النسخ الاحتياطي وعنوان العقدة الرئيسية كوسائط. سيقوم الأمر تلقائيًا بتكوين عقدة النسخ الاحتياطي لنسخ البيانات من العقدة الرئيسية.
  5. اختبار العنقود: تحقق من أن العنقود يعمل بشكل صحيح عن طريق الاتصال به باستخدام redis-cli وإجراء بعض العمليات الأساسية، مثل تعيين المفاتيح والحصول عليها. يمكنك أيضًا استخدام الأمر redis-cli cluster info لعرض حالة العنقود والتحقق من أن جميع العقد تعمل بشكل صحيح.

مثال: إنشاء عنقود Redis بست عقد (3 رئيسية، 3 نسخ احتياطية)

افترض أن لديك 6 خوادم بعناوين IP والمنافذ التالية:

على أحد الخوادم (على سبيل المثال، 192.168.1.101)، قم بتشغيل الأمر التالي:

redis-cli --cluster create 192.168.1.101:7000 192.168.1.102:7001 192.168.1.103:7002 192.168.1.104:7003 192.168.1.105:7004 192.168.1.106:7005 --cluster-replicas 1

سيقوم هذا الأمر بإنشاء عنقود بثلاث عقد رئيسية وثلاث عقد نسخ احتياطية، بحيث يكون لكل عقدة رئيسية نسخة احتياطية واحدة.

الاتصال بعنقود Redis

يختلف الاتصال بعنقود Redis قليلاً عن الاتصال بمثيل Redis واحد. تحتاج إلى استخدام عميل Redis يدعم وضع العنقود. تستخدم هذه العملاء عادةً ناقل العنقود لاكتشاف العقد في العنقود وتوجيه الطلبات إلى العقد الرئيسية المناسبة.

توفر معظم عملاء Redis دعمًا مدمجًا لعنقود Redis. ستحتاج عادةً إلى تزويد العميل بقائمة من العقد الأولية (i.e., known addresses of some of the nodes in the cluster) للعميل. سيستخدم العميل بعد ذلك هذه العقد الأولية لاكتشاف بقية طوبولوجيا العنقود.

مثال: الاتصال بعنقود Redis باستخدام Python (redis-py-cluster)

from rediscluster import RedisCluster

# العقد الأولية هي قائمة بالعقد التي سيستخدمها العميل لاكتشاف طوبولوجيا العنقود.
startup_nodes = [
 {"host": "192.168.1.101", "port": "7000"},
 {"host": "192.168.1.102", "port": "7001"},
 {"host": "192.168.1.103", "port": "7002"}
]

rc = RedisCluster(startup_nodes=startup_nodes, decode_responses=True)

rc.set("foo", "bar")
print(rc.get("foo"))

عنقود Redis في التطبيقات العالمية

يعتبر عنقود Redis مناسبًا بشكل خاص للتطبيقات العالمية التي تتطلب زمن انتقال منخفض وتوافرًا عاليًا عبر مناطق موزعة جغرافيًا. إليك بعض حالات الاستخدام الشائعة:

أفضل الممارسات لعنقود Redis

لضمان الأداء الأمثل والموثوقية لنشر عنقود Redis الخاص بك، ضع في اعتبارك أفضل الممارسات التالية:

بدائل عنقود Redis

بينما يعد عنقود Redis حلاً قويًا لتوسيع نطاق Redis، هناك بدائل أخرى يجب مراعاتها اعتمادًا على احتياجاتك الخاصة:

الخاتمة

يوفر عنقود Redis حلاً قويًا وقابلاً للتوسع لإدارة البيانات في الذاكرة في التطبيقات الموزعة عالميًا. من خلال فهم بنيته المعمارية وفوائده وأفضل الممارسات، يمكنك الاستفادة من عنقود Redis لبناء تطبيقات عالية الأداء والتوافر ومتحملة للأخطاء تلبي متطلبات العالم الرقمي اليوم. سواء كنت تبني طبقة تخزين مؤقت، أو نظام إدارة جلسات، أو منصة تحليلات في الوقت الفعلي، يمكن أن يساعدك عنقود Redis في تحقيق أهدافك المتعلقة بالأداء وقابلية التوسع.

عنقود Redis: توسيع نطاق قاعدة بياناتك في الذاكرة للتطبيقات العالمية | MLOG